<?php

// | Copyright (c) 2019~2020 http://jiunidu.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: huanglijun <80792275@qq.com>
// +----------------------------------------------------------------------

namespace service\pay;


abstract class NotityBase 
{
    /**
     * 支付回调处理
     * @param int  $type        回调处理结果类型            1成功 2 失败  
     * @param int  $pay_type    回调的支付类型              1->自平台 2->微信 3->支付宝 4->银联 
     * @param int  $params      回调的数据                  ['base_data'=>['order_id','pay_fee','coin_fee','balance_fee'],'other_data'=>[]] 
     *                                                     base_data 不管是否成功都会返回 ，other_data 如果为1则为空，其他类型返回相关第三方平台的原始数据（以数组方式返回）
     * @return bool             是否处理成功
     */
    abstract public function PayNotity(int $type,int $pay_type,array $params);
    /**
     * 退款回调处理
     * @param int  $type        回调处理结果类型            1成功 2 失败  
     * @param int  $pay_type    回调的支付类型              1->自平台 2->微信 3->支付宝 4->银联 
     * @param int  $params      回调的数据                  ['base_data'=>['order_id','refund_id','refund_fee','refund_coin_fee','refund_balance_fee'],'other_data'=>[]] 
     *                                                     base_data 不管是否成功都会返回 ，other_data 如果为1则为空，其他类型返回相关第三方平台的原始数据（以数组方式返回）
     * @return bool             是否处理成功
     */
    abstract public function RefundNotity(int $type,int $pay_type,array $params);
}